/**
 * 日志管理类，用于统一日志输出格式
 */

export default class LogMgr {
	public static noLog: boolean = false //正式环境下不打印
	private static _nullFun = function () { }

	/**
	 * 用于输出调试信息 蓝色
	 */
	static get debug(): Function {
		if (this.noLog) {
			return this._nullFun
		}
		return window.console.log.bind(window.console, '%c【Debug】', 'color: white; background-color: #007BFF; font-weight: bold; font-size: 14px;');
	}

	/**
	 * 用于输出一般信息 绿色
	 */
	static get info(): Function {
		if (this.noLog) {
			return this._nullFun
		}
		return window.console.log.bind(window.console, '%c【Info】', 'color: white; background-color: #28A745; font-weight: bold; font-size: 14px;');
	}

	/**
	 * 用于输出警告信息 黄色
	 */
	static get warn(): Function {
		if (this.noLog) {
			return this._nullFun
		}
		return window.console.log.bind(window.console, '%c【Warn】', 'color: black; background-color: #FFC107; font-weight: bold; font-size: 14px;');
	}

	/**
	 * 用于输出错误信息 红色
	 */
	static get err(): Function {
		if (this.noLog) {
			return this._nullFun
		}
		return window.console.log.bind(window.console, '%c【Err】', 'color: white; background-color: #DC3545; font-weight: bold; font-size: 14px;');
	}

}